#ifndef _DATA_CENTER_MSG_DEFINE_H_
#define _DATA_CENTER_MSG_DEFINE_H_
#include "m_types.h"

/************定义用户枚举***************************************************************************/
#define DCUserUart   "uart"    // uart
#define DCUserShell  "shell"   // shell
#define DCUserCtrl   "ctrl"    // ctrl
#define DCUserScreen "screen"  // screen
#define DCUserAd     "ad"      // ad
/************定义消息枚举***************************************************************************/

/**
 * TDataCenterMsgType 内部数据中心交互消息类型枚举值
 */
typedef enum TDataCenterMsgTypeTag
{
    kDataCenterMsgTypeCmdOpenAcc   = 0x0001,  // shell->ctrl 打开ACC
    kDataCenterMsgTypeCmdCloseAcc  = 0x0002,  // shell->ctrl 关闭ACC
    kDataCenterMsgTypeCmdOpenPwr   = 0x0003,  // shell->ctrl 打开PWR
    kDataCenterMsgTypeCmdClosePwr  = 0x0004,  // shell->ctrl 关闭PWR

    kDataCenterMsgTypeCtrlResult   = 0x0005,  // ctrl->shell 控制结果，消息体见 MsgBodyCtrlResult
    kDataCenterMsgTypeUpdateScreen = 0x0006,  // ctrl->screen 立即更新屏幕

    kDataCenterMsgTypeUartNotify   = 0x0007,  // uart->any 串口回调
} TDataCenterMsgType;

/************定义消息体结构***************************************************************************/

/**ctrl->shell 控制结果**/
typedef struct MsgBodyCtrlResultTag
{
    Bool result;      // 控制结果
} MsgBodyCtrlResult;

#endif  // _DATA_CENTER_MSG_DEFINE_H_
